﻿///////////////////////////////////////////////////////////////
// This is generated code. 
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 2.6
// Code is generated on: 
// Code is generated using templates: SD.TemplateBindings.SharedTemplates.NET20
// Templates vendor: Solutions Design.
// Templates version: 
//////////////////////////////////////////////////////////////
using System;

using Northwinddemo.DAL;
using Northwinddemo.DAL.HelperClasses;

using SD.LLBLGen.Pro.ORMSupportClasses;

namespace Northwinddemo.DAL.FactoryClasses
{
	/// <summary>
	/// Factory class for IEntityField2 instances, used in IEntityFields2 instances.
	/// </summary>
	public partial class EntityFieldFactory
	{
		/// <summary> Private CTor, no instantiation possible.</summary>
		private EntityFieldFactory()
		{
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the AlphabeticalListOfProductsEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(AlphabeticalListOfProductsFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("AlphabeticalListOfProductsEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CategoriesEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CategoriesFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CategoriesEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CategorySalesFor1997Entity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CategorySalesFor1997FieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CategorySalesFor1997Entity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CurrentProductListEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CurrentProductListFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CurrentProductListEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CustomerAndSuppliersByCityEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CustomerAndSuppliersByCityFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CustomerAndSuppliersByCityEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CustomerCustomerDemoEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CustomerCustomerDemoFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CustomerCustomerDemoEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CustomerDemographicsEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CustomerDemographicsFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CustomerDemographicsEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the CustomersEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(CustomersFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("CustomersEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the EmployeesEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(EmployeesFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("EmployeesEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the EmployeeTerritoriesEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(EmployeeTerritoriesFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("EmployeeTerritoriesEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the InvoicesEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(InvoicesFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("InvoicesEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the OrderDetailsEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(OrderDetailsFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("OrderDetailsEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the OrderDetailsExtendedEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(OrderDetailsExtendedFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("OrderDetailsExtendedEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the OrdersEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(OrdersFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("OrdersEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the OrdersQryEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(OrdersQryFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("OrdersQryEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the OrderSubtotalsEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(OrderSubtotalsFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("OrderSubtotalsEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the ProductsEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(ProductsFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("ProductsEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the ProductsAboveAveragePriceEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(ProductsAboveAveragePriceFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("ProductsAboveAveragePriceEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the ProductSalesFor1997Entity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(ProductSalesFor1997FieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("ProductSalesFor1997Entity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the ProductsByCategoryEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(ProductsByCategoryFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("ProductsByCategoryEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the QuarterlyOrdersEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(QuarterlyOrdersFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("QuarterlyOrdersEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the RegionEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(RegionFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("RegionEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the SalesByCategoryEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(SalesByCategoryFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("SalesByCategoryEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the SalesTotalsByAmountEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(SalesTotalsByAmountFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("SalesTotalsByAmountEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the ShippersEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(ShippersFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("ShippersEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the SummaryOfSalesByQuarterEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(SummaryOfSalesByQuarterFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("SummaryOfSalesByQuarterEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the SummaryOfSalesByYearEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(SummaryOfSalesByYearFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("SummaryOfSalesByYearEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the SuppliersEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(SuppliersFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("SuppliersEntity", (int)fieldIndex));
		}

		/// <summary> Creates a new IEntityField2 instance for usage in the EntityFields object for the TerritoriesEntity. Which EntityField is created is specified by fieldIndex</summary>
		/// <param name="fieldIndex">The field which IEntityField2 instance should be created</param>
		/// <returns>The IEntityField2 instance for the field specified in fieldIndex</returns>
		public static IEntityField2 Create(TerritoriesFieldIndex fieldIndex)
		{
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo("TerritoriesEntity", (int)fieldIndex));
		}


		/// <summary>Creates a new IEntityField2 instance, which represents the field objectName.fieldName</summary>
		/// <param name="objectName">the name of the object the field belongs to, like CustomerEntity or OrdersTypedView</param>
		/// <param name="fieldName">the name of the field to create</param>
		public static IEntityField2 Create(string objectName, string fieldName)
        {
			return new EntityField2(FieldInfoProviderSingleton.GetInstance().GetFieldInfo(objectName, fieldName));
        }

		#region Included Code

		#endregion
	}
}
